#include<conio.h>
#include<stdio.h>
int k[1000],sum,i,socach;
int nt[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139};
int used[150];
int kq[]={0,1,1,0,2,0,2,1,1,2,1,2,2,2,2,3,2,4,3,4,4,4,5,5,5,6,5,6,7,6,9,7,9,9,9,11,11,11,13,\
     12,14,15,15,17,16,18,19,20,21,23,22,25,26,27,30,29,32,32,35,37,39,40,42,44,45,\
    50,50,53,55,57,61,64,67,70,71,76,78,83,87,89,93,96,102,106,111,114,119,122,130,\
    136,140,147,150,156,164,170,178,183,188,198,204,215,224,229,238,246,257,268,278,\
    287,296,307,320,334,344,357,366,379,396,411,426,438,453,466,486,505,522,537,554,\
    573,595,618,639,657,675,699,724,750,776};


void init(){
    sum=0;
    for(i=1;i<150;i++)used[i]=0;
}
void cach(int n,int id,int start){
    if(sum>n)return;
    if(sum==n){
        socach++;
        return ;
    }
    for(int i=start;i<=33;i++){
        if(used[nt[i]]==0){
            k[id]=nt[i];
            used[k[id]]=1;
            sum+=nt[i];
            cach(n,id+1,i+1);
            used[k[id]]=0;
            k[id]=0;
            sum-=nt[i];
        }
    }
}
int main(){
    for(int i=1;i<=139;i++){
        init();
        socach=0;
        cach(i,1,0);
        printf("(%d=%d),",socach,kq[i-1]);
    }
    getch();
    return 0;
}
